Traditional processors allow programs to specify only instructions that are executed in sequence for carrying out a set of operations. Thus, these processors have lower performance and throughput as the operations are executed in a sequential manner.
Thus, simultaneously executing multiple operations is one of the most important requirements for a high-performance processor. Therefore, processor architectures are designed to take advantage of instruction level parallelism, whereby multiple instructions are executed simultaneously for carrying out a set of operations. For example, a rich set of operations can be achieved using one long instruction word (32-bit instruction word) on a single core processor. Such requirement is most important in the case of Application-Specific Instruction Set Processor (ASIP) system because of the limited resources in the system.
However, prior art processor designs support execution of only up to two simultaneous operations using 32-bit and 16-bit instruction words and the code format of such processors results in inefficient resource usage while executing the operations.
Therefore, in light of the above, there is a need for an improved application specific instruction-set processor (ASIP) design that uses a highly efficient code format for simultaneously executing a plurality of operations using a long instruction word.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the invention.